声明

本文是学习GB-T 34083-2017 中文语音识别互联网服务接口规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们

1 范围

本标准规定了中文语音识别服务系统在互联网环境下提供服务的能力范围、输入数据、输出数据、

服务接口、接口返回值要求等。

本标准适用于基于互联网的中文语音识别服务系统接口的设计、开发和应用。

2 规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB 13000 信息技术 通用多八位编码字符集(UCS)(GB 13000—2010,ISO/IEC
10646:2003,IDT)

GB 18030 信息技术 中文编码字符集

GB/T 21023—2007 中文语音识别系统通用技术规范

汉语拼音方案(中华人民共和国第一届全国人民代表大会第五次会议决议通过)

RFC 2045 多用途互联网邮件扩展 第1部分:互联网消息体格式(Multipurpose
Internet Mail

Extensions(MIME)Part One: Format of Internet Message Bodies)

RFC 2586 多用途互联网邮件扩展内容类型(The Audio/L16 MIME content type)

RFC 5234 语法规范的扩展巴科斯范式(Augmented BNF for Syntax
Specifications:ABNF)

RFC 5646 语言标识标签(Tags for Identifying Languages)

SRGS1.0 语音识别语法规范(Speech Recognition Grammar Specification
Version 1.0)

国际语音学会手册:国际音标使用指南(Handbook of the International
Phonetic Association: A

Guide to the Use of International Phonetic Alphabet)

3 术语和定义

下列术语和定义适用于本文件。

3.1

语音识别 speech recognition

将人类的声音信号转化为文字或者指令的过程。

[GB/T 21023—2007,定义3. 1]

3.2

语音识别语法 speech recognition grammar

识别语法 recognition grammar

语法 grammar

语音识别引
擎进行语音识别所需的语句形式和语法要素,语法要素包括词汇、词汇模式、词汇语

言等。

3.3

命令字识别 command word recognition

一种基于语音识别语法的语音识别方 式,是在语音识别语法规则限定的范围内,对于给定的语音输

GB/T 34083—2017

入,语音识别引擎给出语音识别语法覆盖范围内的文本或拒识作为识别结果。

3.4

连续语音识别 continuous speech recognition

识别任意的连续语音,并给出相对应的文本。

注:连续语音识别不限制用户说话的词汇、内容和方式,用户可以以任意说的形式输入语音。

3.5

语音识别结果 speech recognition result

识别结果 recognition result

语音信号经语音识别后得到的文字或指令。

3.6

热词集 hot words

由用户或应用程序定义的结构化关键词集合。

3.7

扩展巴科斯范式 Augmented Backus-Naur Form;ABNF

一种用于描述给定源语言语法的增强形式化符号。

注:扩展巴科斯范式相对于巴科斯范式在命名规则、取值范围等方面做了很多改进。

3.8

可扩展置标语言语法 grammar extensible markup
language;GRXML

一种基于可扩展置标语言(XML) 的语音识别语法规范。

3.9

个性化识别 personalized recognition

分为应用级个性化识别和用户级个性化识别。

应用级个性化识别是面向应用程序的个性化定制,既包括应用程序开发者通过构建识别语法和热
词集提 升识别效果,又包括应用程序开发者根据自己应用程序的定位,选择不同年龄、性别的用户群体

提取出声学模型,对识别效果进行优化。

用户级个性化识别是面向终端用户的个性化定制,既包括用户上传自己的热词集来优化识别效果,

又包括语音识别 引擎针对用户提取声学模型,提升识别效果。

3.10

JSON 数据交换格式 javascript object notation;JSON

一种基于文本,独立于语言的简便数据交换格式。

注:JSON
定义了一套小规模的结构化规则来描述轻量级的结构化数据,以文字为基础,易于阅读和计算机分析。

3.11

置信度阈值 confidence threshold

判定语音识别语法中某词条是否为识别结果的最低匹配度得分。

置信度阈值越高,识别结果越可信。

4 语音识别服务系统能力范围

4.1 概述

基于互联网的中文语音识别服务系统的能力范围指通过其接口能实现或驱动的功能集,包括基本
功能和扩展功能两大类,基本功能是应具备的功能,扩展功能是宜具备的功能。语音识别服务提供商可

在本功能集的基础上扩展其他功能。

语音识别一般流程的示意图参见图1。图1自上而下表示一个完整的连续语音识别会话,主要包

GB/T 34083—2017

括开启会话、定义热词集、激活热词集、写入识别音频、获取语音识别结果和结束会话。命令字识别一般

流程与此类似。

style="width:8.04028in;height:6.01389in" />

注1:定义热词集和激活热词集流程用虚线表示意即定义热词集和激活热词集不是必要的。

注2:虚线框内的"for0,N,1" 表示起始值0、上限 N、步长为1的循环。

1 语音识别一般流程示意图

4.2 基本功能

4.2.1 中文语音识别服务

包括命令字识别和连续语音识别两种语音识别服务。

4.2.2 自定义语法

包括应用程序自定义语法和用户自定义语法。

4.2.3 网络交互

语音识别服务系统提供具备网络交互功能的客户端组件,或提供可进行网络调用的接口。

4.2.4 音频端点检测

语音识别服务系统对识别音频进行有效语音前后端点的检测,从音频流中分离出有效的语音。

4.3 扩展功能

4.3.1 音频压缩和解压缩

语音识别服务系统在发送端对识别音频进行压缩,在网络传输中使用压缩格式的音频,在接收端对

接收到的压缩格式的音频进行解压缩。

4.3.2 个性化识别

包括应用级个性化识别和用户级个性化识别。某个用户的个性化识别相关数据不应对其他用户和

GB/T 34083—2017

整个应用程序生效。

4.3.3 识别结果多候选

语音识别结果中给出多个候选的识别结果供用户选择。

4.3.4 自定义热词

包括应用程序自定义热词集和用户自定义热词集。语音识别服务系统在识别结果中给出是否为自

定义热词的信息。

4.3.5 噪声抑制

语音识别服务系统对识别音频进行噪声抑制,提高识别率。

4.3.6 识别结果进阶

在语音识别结果分多次返回时,可用后继的识别结果对之前的结果进行修正,如插入、删除或修改

部分内容。

4.3.7 语言信息

语音识别结果中给出识别音频所对应的语言信息,如语种、方言种类等。

4.3.8 说话者信息

语音识别结果中给出说话者信息,如性别、年龄段等。

5 输入数据

5.1 语音识别音频数据格式要求

语音识别服务系统的语音识别引擎应至少支持表1的音频数据格式。

1 音频数据格式

音频数据格式

音频数据格式描述

audio/L16;rate=8000

无音频头8kHz采样率16位单声道小端次序PCM

audio/L16;rate=16000

无音频头16kHz采样率16位单声道小端次序PCM

在进行语音识别时,音频数据格式由独立的参数写入语音识别引擎,引擎以此参数来获知将要进行识别的音

频数据格式。

5.2 语音识别语法

识别语法用在命令字识别中。使用识别语法的过程包括定义语法和激活语法两个步骤。定义语法
指写入语音识别语法数据并经语音识别服务系统编译通过。激活语法指加载一个已定义的识别语法,

使之在语音识别过程中生效。

一路语音识别会话应至少激活一个语法。
一路语音识别会话可定义和激活多个语法。

语法类型取值见表2。语音识别服务系统应支持 abnf 和 grxml, 宜支持
build-in和 key-words。

GB/T 34083—2017

2 识别语法的类型

语法类型

取值规范

使用规范

abnf

两种语法均为国际标准语法,其编写规范分

别符合RFC 5234和SRGS 1.0

在定义这两类语法时,每次应只定义一个

语法

grxml

build-in

语音识别引擎内置语法

可一次激活多个本类型语法,此时多个语法 之间应以“,”(半角逗号)或"\r\n”(回车换行

符)隔开

key-words

关键词列表,语音识别引擎据此生成标准格式的语法(abnf或grxml)激活后使用。

格式规范和使用规范由语音识别服务提供商自定义

一路会话中激活多个语法时,每个语法被赋予一个权重值。语音识别引擎优先匹配权重较大的语法,权重相

同的语法按激活的顺序匹配。语法的类型和权重分别在定义和激活语法时各自通过独立的参数写入语音识

别引擎 。

5.3 热词集

热词集用在连续语音识别中,用来优化识别结果。热词集是构建个性化应用的重要手段,是用户自

定义词的方式。识别结果应优先从热词集中选取。

使用热词集的过程包括定义热词集和激活热词集两个步骤。定义热词集指写入热词集数据并经语

音识别服务系统编译通过。激活热词集指加载一个已定义的热词集,使之在语音识别过程中生效。

热词集的结构属性和格式规范由语音识别服务提供商自定义。

5.4 语音识别参数

5.4.1 概述

语音识别参数见表3。语音识别服务系统应支持基本集中的参数,宜支持扩展集中的参数。5.4定

义的参数及其取值不应区分字母大小写。

3 语音识别参数

序号

参数

功能

定义集

1

session-type/sst

指明会话类型

基本集

2

net-timeout/ntt

指明网络交互超时间隔

基本集

3

speek-timeout/stt

指明语音写入超时间隔

基本集

4

confidence-threshold/cfd

指明置信度阈值

基本集

5

result-format

指明识别结果格式

基本集

6

result-encode/rse

指明识别结果字符编码格式

基本集

7

grammar-type/grt

指明识别语法类型

基本集

8

grammar-weight/grw

指明识别语法权重

基本集

9

grammar-encode/gre

指明识别语法字符编码格式

基本集

10

vad-enable

开启音频端点检测

基本集

11

audio-format/auf

指明识别音频数据格式

基本集

GB/T 34083—2017

表3(续)

序号

参数

功能

定义集

12

audio-encode/aue

指明识别音频压缩算法

扩展集

13

input-encode

指明输入音频所用压缩算法

扩展集

14

nbest

指明候选结果最大数量

扩展集

15

language/lang

指明识别音频所属语种

扩展集

16

dialect

指明识别音频所属方言

扩展集

17

domain

指明识别音频内容所属领域

扩展集

18

service-mode

指明服务模式

扩展集

19

vad-timeout

指明语音等待超时时长

扩展集

20

vad-incomplete-timeout

指明语音尾部静音长度

扩展集

21

denoise-enable

启用噪声抑制

扩展集

22

result-type/rst

指明识别结果类型

扩展集

23

progressive-mode

指明会话是否为进阶模式

扩展集

24

punctuation

指明是否自动添加标点符号

扩展集

25

result-info

指明识别结果中的信息种类

扩展集

26

hot-words-type

指明热词集类型

扩展集

27

hot-words-encode

指明热词集字符编码格式

扩展集

28

vendor-x

自定义参数

扩展集

注:凡是以A/B形式出现的参数表示A与B的写法等价。

5.4.2 会话类型

参数名:session-type

别名:sst

取值:字符串,取值包括 continuous和 command,continuous
表示连续语音识别,command 表示命

令字识别。缺省值为continuous。

说明:语音识别会话类型。

5.4.3 网络交互超时

参数名:net-timeout

别名:ntt

取值:整数,单位毫秒(ms)。 取值范围为-1和1~30000的整数,
-1表示无超时限制。缺省值为

10000。

说明:网络交互操作中,服务器在设定的时间内无响应即为超时。

5.4.4 语音写入超时

参数名:speak-timeout

别 名 :stt

GB/T 34083—2017

取值:整数,单位毫秒(ms)。 取值范围为-1和1~30000的整数,
-1表示无超时限制。缺省值为

10000。

说明:用户写入语音未结束时在设定的时长内未继续写入语音即为超时。

5.4.5 置信度阈值

参数名:confidence-threshold

别名:cfd

取值:浮点数,取值范围为0.0~100.0。缺省值为90.0。

说明:本次语音识别所用置信度阈值,用于命令字识别中。

5.4.6 识别结果格式

参数名:result-format

取值:字符串,取值包括 plain(纯文本)、json(JSON 格式)和 xml(XML
格式)。应支持 plain 和

json。 缺省值为json。

说明:识别结果的文本格式。

5.4.7 识别结果编码

参数名:result-encode

别名:rse

取值:字符串,取值包括GB 18030、GB13000 等。应支持GB18030, 宜支持GB
13000。 缺省值为

GB 18030。

说明:识别结果的字符编码格式。

5.4.8 语法类型

参数名:grammar-type

别名:grt

取值:字符串,取值范围、各值含义和使用规范见5.2。缺省值为 abnf。

说明:识别语法的类型,用于命令字识别中。

5.4.9 语法权重

参数名:grammar-weight

别名:grw

取值:整数,取值范围为0~9。缺省值为5。

说明:识别语法的权重,用于命令字识别中。

5.4.10 语法编码

参数名:grammar-encode

别名:gre

取值:字符串,取值规范同5.4.7参数 result-encode。

说明:识别语法的字符编码格式,用于命令字识别中。如果识别语法结构包含其字符编码格式,则
本参数无效。

5.4.11 开启音频端点检测

参数名:vad-enable

GB/T 34083—2017

取值:布尔值,取值包括 true和 false。true表示开启,false
表示关闭。缺省值为true。

说明:是否开启音频端点检测。

5.4.12 音频数据格式

参数名:audio-format

别名:auf

取值:字符串,取值格式规范同 RFC 2045 的 Content-Type
参数,其各子参数取值规范符合 RFC 2586。取值包括
audio/L16;rate=8000、audio/L16;rate=16000 等。应支持 audio/L16;rate=8000
和 audio/L16;rate=16000。 缺省值为 audio/L16;rate=16000。
语音识别服务提供商可扩展支持其他采

样率,也可扩展支持其他子参数。

说明:识别音频数据格式。

5.4.13 音频压缩算法

参数名:audio-encode

别名:aue

取值:字符串,取值格式规范同 RFC 2045 的 Content-Type 参数,其中的
type 取值为 audio, subtype 取值包括
raw、pcma、pcmu、amr、amr-wb、speex、speex-wb、mp3、aac、celt、silk
等,其中 raw 表 示不压缩,pcma 和 pcmu 分别表示 A-law 和 mu-law。
对于支持可变码率编码的压缩算法,使用子参数 level(或简写为
lvl)指定压缩等级。如取值为"audio/amr-wb;lvl=7"
时,语音识别服务系统在网络传输 中使用amr-wb 算法的等级7压缩识别音频。
subtype 的取值除raw 外,宜支持以上音频压缩算法中的 一种或多种。
subtype 和
level的缺省值由语音识别服务提供商自定义。语音识别服务提供商可在此

基础上扩展支持其他音频压缩算法。

说明:本参数用来指明使用何种压缩算法对识别音频压缩后进行网络传输。如果语音识别服务系
统不是通过客户端开发组件的方式提供服务,例如通过能直接进行网络调用的接口提供服务,则本参数

无效。

5.4.14 输入音频压缩算法

参数名:input-encode

取值:字符串,取值格式规范同5.4.13参数
audio-encode,取值范围为语音识别服务提供商支持的

audio-encode参数值集。缺省值为 audio/raw。

说明:本参数在用户将压缩格式的音频写入语音识别服务系统时用来声明压缩音频所用压缩算法,

其源音频数据格式由参数audio-format(见5.4.12)指定。

5.4.15 多候选数量

参数名:nbest

取值:整数,取值范围为1~30。缺省值为10。

说明:当识别结果包含多个候选的结果时,本参数指明允许的候选结果的最大数量。

5.4.16 语种

参数名:language

别名:lang

取值:字符串,取值规范符合 RFC 5646。 应支持中文 zh-CN。 缺省值为
zh-CN。

说明:识别音频所属的语种。本标准包含此参数是为了保持与其他语种的语音识别系统的兼容性。

GB/T 34083—2017

5.4.17 方言

参数名:dialect

取值:字符串,取值包括 mandarin(普通话)、cantonese(粤语)等。应支持
mandarin。 缺省值为

mandarin。 中文语音识别服务提供商可扩展支持其他方言。

说明:识别音频所属的方言。

5.4.18 领域

参数名:domain

取值:字符串,取值包括
message(文本消息)、weather(天气)、medical(医疗)、science-technology

(科技)等。应支持 message。 缺省值为message。
中文语音识别服务提供商可扩展支持其他领域。

说明:不同领域有不同的词汇集,指明所属领域更有利于提高识别率。

5.4.19 服务模式

参数名:service-mode

取值:字符串,取值包括 cloud(云端识别)、local(本地识别)和
cloud+local(云+端混合模式)。应

支持 cloud。 缺省值为 cloud。

说明:服务模式,用户可选择本地提取识别音频特征数据然后发送到云端进行识别的云+端混合模

式,也可在无网络的情况下选择本地识别。

5.4.20 音频等待超时时长

参数名:vad-timeout

取值:整数,单位毫秒(ms)。 取值范围为-1和1~60000的整数,
-1表示无超时限制。缺省值为

10000。

说明:有效语音等待超时时长。如果用户写入的音频在指定的时长内未发现有效语音,即视为超

时。本参数在开启音频端点检测时有效。

5.4.21 音频尾部静音长度

参数名:vad-incomplete-timeout

取值:整数,单位毫秒(ms)。 取值范围为一1和1~60000的整数, —
1表示无超时限制。缺省值为

10000。

说明:有效语音尾部静音长度。如果用户写入的音频在检测到有效语音后在指定的时长内未发现

有效语音,即视为有效语音输入结束。本参数在开启音频端点检测时有效。

5.4.22 开启噪音抑制

参数名:denoise-enable

取值:布尔值,取值包括 true和
false,true表示开启,false表示关闭。缺省值为 true。

说明:指明是否开启噪声抑制。

5.4.23 结果类型

参数名:result-type

别名:rst

取值:字符串,取值包括 word(字或词)、sentence(整句)和
paragraph(段落)。应支持 word 和 sen-

GB/T 34083—2017

tence。 缺省值为 word。

说明:识别结果的类型。

5.4.24 进阶模式

参数名:progressive-mode

取值:布尔值,取值包括 true和
false,true表示进阶模式,false表示非进阶模式。缺省值为 false。

说明:指明识别会话是否为进阶模式。非进阶模式下,多个识别结果按先后顺序拼接在一起组成完

整的识别结果。进阶模式下,可使用后继的识别结果对之前的识别结果进行修改、插入、删除等操作。

5.4.25 标点符号

参数名:punctuation

取值:布尔值,取值包括 true 和
false,true表示自动添加标点符号,false表示不添加。缺省值为

true。

说明:在识别结果中是否自动添加标点符号。

5.4.26 识别结果信息

参数名:result-info

取值:字符串,取值为表4中所列参数或其组合,表中所列均为识别结果包含的信息参数。当取值
为多个参数的组合时,参数之间应由“ \|
”(半角竖线)隔开。缺省获取完整的识别结果及描述信息。

说明:用户使用本参数来指明识别结果中包含的信息种类。

4 result-info 取值允许的结果描述参数集合

序号

参数

序号

参数

1

confidence-threshold/cfd

7

SNR

2

language/lang

8

error-reason

3

dialect

9

pinyin

4

gender

10

score

5

age

11

user-word

6

role

注:凡是以A/B形式出现的参数表示A与B的写法等价。

5.4.27 热词集类型

参数名:hot-words-type

取值:字符串,取值包括ID (热词集标识符)、text(热词集数据)。应支持ID。
缺省值为ID。 语音识

别服务提供商可扩展其他热词集类型。

说明:热词集的类型。

5.4.28 热词集编码

参数名:hot-words-encode

取值:字符串,取值规范同5.4.7参数 result-encode。

说明:热词集数据的字符编码格式。如果语音识别服务提供商定义的热词集结构包含其字符编码

GB/T 34083—2017

格式,则本参数无效。

5.4.29 自定义参数

参数名:vendor-x

取值:字符串。

说明:语音识别服务提供商自定义的识别参数。在自定义参数时用一个字符串替换参数名称中的

“x”,组成新的参数名,同时定义该参数的使用规范。可自定义多个参数。

6 输出数据

6.1 语音识别结果格式

语音识别结果格式包括纯文本、JSON 格式文本和 XML 格式文本三种。 JSON
格式的语音识别结

果消息示例参见附录 A, 纯文本和 XML 格式的消息从略。

6.2 语音识别结果描述参数

6.2.1 概述

识别结果描述参数见表5。语音识别服务系统应支持基本集中的参数,宜支持扩展集中的参数。
6.2定义的参数及其取值不应区分字母大小写。如果用户使用参数
result-info(见5.4.26)指明识别结

果中包含的信息种类,语音识别服务系统在组织识别结果数据时,应符合6.2规定的结构。

5 语音识别结果描述参数

序号

参数

含义

定义集

1

version/ver

协议版本号

基本集

2

sentence-number/sn

句子序号

基本集

3

last-sentence/ls

是否为最后一句

基本集

4

begin

开始识别时间

基本集

5

end

结束识别时间

基本集

6

result-type/rst

结果类型

基本集

7

error-code

错误码

基本集

8

recognition-result

识别结果对象

基本集

9

candidate-words

候选字集

基本集

10

word

识别结果内容

基本集

11

score

识别结果得分

基本集

12

instance

匹配的实例

基本集

13

grammar

匹配的语法

基本集

14

user-input

用户说话内容

基本集

15

error-reason

错误原因描述

扩展集

16

confidence-threshold/cfd

置信度阈值

扩展集

17

language/lang

识别音频所属语种

扩展集

GB/T 34083—2017

5 (续)

序号

参数

含义

定义集

18

dialect

识别音频所属方言

扩展集

19

gender

说话者性别

扩展集

20

age

说话者年龄

扩展集

21

role

说话者角色

扩展集

22

progressive-type

进阶类型

扩展集

23

progressive-range

进阶范围

扩展集

24

SNR

信噪比

扩展集

25

pinyin

识别结果拼音

扩展集

26

user-word

是否为用户自定义热词

扩展集

27

vendor-x

自定义参数

扩展集

注:凡是以A/B形式出现的参数表示A与B的写法等价。

6.2.2 协议版本号

参数名:version

别名:ver

取值:字符串,当前取值为0.1。

说明:当前协议规范的版本号。

允许的父参数:无。

允许的子参数:无。

6.2.3 句子序号

参数名:sentence-number

别名:sn

取值:整数,从1开始,每次递增加1。

说明:描述当前识别结果是整个识别结果的第几部分。

允许的父参数:无。

允许的子参数:无。

6.2.4 最后一句

参数名:last-sentence

别名:ls

取值:布尔值,取值为 true或 false。

说明:指明当前识别结果是否为最后一部分识别结果。

允许的父参数:无。

允许的子参数:无。

6.2.5 开始识别时间

参数名:begin

GB/T 34083—2017

取值:正整数,单位毫秒(ms)。

说明:当前识别结果对应的音频数据起始时间。本参数可出现在不同的层次描述不同的对象。

允许的父参数:candidate-words。

允许的子参数:无。

6.2.6 结束识别时间

参数名:end

取值:正整数,单位毫秒(ms)。

说明:当前识别结果对应的音频数据结束时间。本参数可出现在不同的层次描述不同的对象。

允许的父参数:candidate-words。

允许的子参数:无。

6.2.7 结果类型

参数名:result-type

别名:rst

取值:字符串,取值包括 word(字或词)、sentence(整句)和
paragraph(段落)。

说明:当前识别结果的类型。

允许的父参数:无。

允许的子参数:无。

6.2.8 错误码

参数名:error-code

取值:整数。

说明:指明识别过程成功与否,0值表示成功,非0值表示错误,不同的非0值对应不同的错误

原因。

允许的父参数:无。

允许的子参数:无。

6.2.9 识别结果对象

参数名:recognition-result

取值:对象数组。

说明:识别结果的文本内容及其描述信息。

允许的父参数:无。

允许的子参数:candidate-words、grammar、user-input。

6.2.10 候选字集

参数名:candidate-words

取值:对象数组。本参数在识别会话为进阶模式(见5.4.24)时,不应有多于1个的元素。

说明:本参数表明当前数组对象内部的结果是同一段音频的多个候选结果,用户可从中选择。

允许的父参数:recognition-result。

允许的子参数:word、begin、end、user-word、instance、score、pinyin。

6.2.11 识别结果内容

参数名:word

GB/T 34083—2017

取值:字符串。

说明:表示一段音频识别结果的文字内容。

允许的父参数:candidate-words。

允许的子参数:无。

6.2.12 识别结果得分

参数名:score

取值:浮点数,取值范围为0.0~100.0。

说明:识别结果内容对应的匹配得分。识别结果得分越高就越可信。

允许的父参数:candidate-words。

允许的子参数:无。

6.2.13 匹配实例

参数名:instance

取值:字符串。

说明:匹配到的语法中的词条。用于命令字识别中。

允许的父参数:candidate-words。

允许的子参数:无。

6.2.14 匹配语法

参数名:grammar

取值:字符串。

说明:匹配到的词条所在的语法。用于命令字识别中。

允许的父参数:recognition-result。

允许的子参数:无。

6.2.15 用户说话内容

参数名:user-input

取值:字符串。

说明:用户说话的内容。用于命令字识别中。

允许的父参数:recognition-result。

允许的子参数:无。

6.2.16 错误原因描述

参数名:error-reason

取值:字符串。

说明:在error-code(见6.2.8)为非0值时,error-reason描述发生错误的原因。

允许的父参数:无。

允许的子参数:无。

6.2.17 置信度阈值

参数名:confidence-threshold

别名:cfd

GB/T 34083—2017

取值:浮点数,取值范围为0.0~100.0。

说明:本次识别所用的置信度阈值。用于命令字识别中。

允许的父参数:无。

允许的子参数:无。

6.2.18 语种

参数名:language

别名:lang

取值:字符串,取值规范符合 RFC 5646。

说明:识别音频所属的语种。本标准包含此参数是为了保持与其他语种语音识别系统的兼容性。

允许的父参数:无。

允许的子参数:无。

6.2.19 方言

参数名:dialect

取值:字符串。

说明:识别音频所属的方言。

允许的父参数:无。

允许的子参数:无。

6.2.20 性别

参数名:gender

取值:字符串,取值包括 male(男)、female(女)。

说明:说话人的性别。

允许的父参数:无。

允许的子参数:无。

6.2.21 年龄

参数名:age

取值:字符串,取值包括
child(少年)、youth(青年)、adult(成年)、elder(老人)。

说明:说话人的年龄。

允许的父参数:无。

允许的子参数:无。

6.2.22 角色

参数名:role

取值:整数,取值范围大于等于1,序数含义。

说明:指明在多人说话的场景中,当前识别结果是哪个人说的内容。

允许的父参数:无。

允许的子参数:无。

6.2.23 进阶类型

参数名:progressive-type

GB/T 34083—2017

取值:字符串,取值包括 append(附加)、overwrite(盖写)、insert(插入)和
delete(删除)。 append 表
示将当前识别结果直接追加在之前的识别结果之后;overwrite
表示用当前识别结果覆盖之前的部分或
全部识别结果;insert表示将当前识别结果插入到之前识别结果的某个位置;delete表示删除之前的部
分或全部识别结果,此时当前识别结果中
recognition-result(见6.2.9)字段不应包含任何元素。盖写、

删除的范围和插入的位置由参数 progressive-range(见6.2.24)指定。

说明:本参数在本路识别会话为进阶模式时有效(见5.4.24),描述当前识别结果相对于之前识别结

果的进阶类型。

允许的父参数:无。

允许的子参数:无。

6.2.24 进阶范围

参数名:progressive-range

取值:对象,两个整数组成的范围,单位均为字节(B)。
第一个整数表示起点,第二个整数表示从起

点算起的长度。

说明:本参数在识别会话为进阶模式且 progressive-type(见6.2.23)值不为
append 时有效。 pro- gressive-type 值为overwrite或
delete时,本参数指明盖写或删除的范围;progressive-type 值为 insert

时,本参数指明插入的位置,此时第二个整数为0。

允许的父参数:无。

允许的子参数:无。

6.2.25 信噪比

参数名:SNR

取值:浮点数,单位分贝(dB)。

说明:识别音频的信噪比。信噪比定义见GB/T 21023—2007 中4.6。

允许的父参数:无。

允许的子参数:无。

6.2.26 识别结果拼音

参数名:pinyin

取值:字符串,描述的文本为中文字符时,取值应为每一个字符对应的汉语拼音按字符先后顺序拼
接起来的字符串,中间不加分隔符。每一个字符对应的汉语拼音声韵组合规律应符合《汉语拼音方案》,
声调中的阴平、阳平、上声、去声和轻声应分别用1、2、3、4和0表示,如"北京"的普通话汉语拼音表示为
"bei3jingl"。
普通话声母和韵母见《汉语拼音方案》中的声母表和韵母表,其他汉语方言的声母和韵母
见国际语音学会编著的《国际语音学会手册:国际音标使用指南》。非中文字符可不进行拼音标注,省略

参数或取值为空。

说明:识别结果内容对应的拼音。

允许的父参数:candidate-words。

允许的子参数:无。

6.2.27 用户自定义热词

参数名:user-word

取值:布尔值,取值包括 true或 false。

说明:描述的对象是否为应用程序或用户自定义的热词。

GB/T 34083—2017

允许的父参数:candidate-words。

允许的子参数:无。

6.2.28 自定义参数

参数名:vendor-x

取值:字符串。

说明:中文语音识别服务提供商自定义的识别结果描述参数。在自定义参数时用一个字符串替换

参数名称中的“x”,组成新的参数名,同时定义该参数的使用规范。可自定义多个参数。

允许的父参数:不做定义。

允许的子参数:不做定义。

7 服务接口

7.1 概述

服务接口包括基础语音识别服务接口和数据操作接口。

在一路会话中定义的识别语法或热词集不应在该路会话之外激活,通过数据操作接口定义的识别

语法或热词集在删除之前可在不同的会话中激活。

7.3.2定义的接口不应被用于大数据量识别语法数据的上载。7.3.4定义的接口不应被用于大数据
量热词集数据的上载。大数据量识别语法数据或热词集数据的上载、编辑等操作应通过其他方式如网

页进行。"大数据量数据"指因数据量大须分多次才能完成上载、下载等操作的数据。

7.2 语音识别服务接口

7.2.1 初始化组件

接口行为:初始化语音识别服务系统客户端组件,或客户端组件语音识别部分。如果语音识别服务
系统不是通过客户端开发组件的方式提供服务,则本接口可省略。本接口应和逆初始化组件(见

7.2.10)接口配对使用。

接口输入:不做定义。

接口输出:返回值等。

7.2.2 创建语音识别会话

接口行为:创建一路语音识别会诂,可同时设置会话参数,参数有效范围应为设置成功时起全本路

会话结束。

接口输入:可选:识别会话参数等。可一次设置多个会话参数。

接口输出:会话句柄、返回值等。

7.2.3 设置语音识别会话参数

接口行为:设置一路语音识别会话的参数,参数有效范围应为设置成功时起至本路会话结束。

接口输入:必备:会话句柄、识别会话参数。可一次设置多个会话参数。

接口输出:返回值等。

7.2.4 定义、激活识别语法

接口行为:当写入的是识别语法数据时,本接口定义并激活该语法。当写入的是
build-in 语法(见

GB/T 34083—2017

表2)或已定义语法的标识符(ID)
时,本接口激活该语法。语法有效范围应为激活成功时起至本路会话

结束。

接口输入:必备:会话句柄、识别语法数据或语法 ID。
可选:语法数据长度、语法编码、语法类型、语

法权重等。

接口输出:返回值等。

7.2.5 定义、激活热词集

接口行为:当写入的是热词集数据时,本接口定义并激活该热词集。当写入的是已定义热词集的标

识符(ID)
时,本接口激活该热词集。热词集有效范围应为激活成功时起至本路会话结束。

接口输入:必备:会话句柄、热词集数据或热词集 ID。
可选:热词集类型、热词集编码、热词集数据

长度等。

接口输出:返回值等。

7.2.6 写入识别音频

接口行为:写入一路语音识别会话所用识别音频。本接口可被反复调用以便于大数据量的识别音

频分多次写入,音频写入是否结束应使用音频状态参数指定。

接口输入:必备:会话句柄、识别音频、识别音频长度、音频状态。

接口输出:返回值等。

7.2.7 停止语音识别

接口行为:停止当前的语音识别,系统应忽略剩余的识别音频和用户尚未获取的识别结果。本接口

被调用后,用户可重新设置会话参数,定义、激活识别语法或热词集,再次写入识别音频开始语音识别。

接口输入:必备:会话句柄。

接口输出:返回值等。

7.2.8 获取语音识别结果

接口行为:获取本路语音识别会话的识别结果。本接口可被反复调用以获取完整的识别结果。

接口输入:必备:会话句柄。

接口输出:识别结果、返回值等。

7.2.9 结束语音识别会话

接口行为:结束一路语音识别会话,释放资源。

接口输入:必备:会话句柄。

接口输出:返回值等。

7.2.10 逆初始化组件

接口行为:逆初始化语音识别服务系统客户端组件,或客户端组件语音识别部分,释放资源。如果

语音识别服务系统不是通过客户端开发组件的方式提供服务,则本接口可省略。

接口输入:不做定义。

接口输出:返回值等。

7.3 数据操作接口

7.3.1 用户登录

接口行为:用户写入用户标识符,进行登录。

GB/T 34083—2017

接口输入:必备:用户标识符。可选:用户密码等。

接口输出:登录句柄、返回值等。

7.3.2 上载识别语法

接口行为:用户或应用程序上载识别语法数据,定义语法。

接口输入:必备:登录句柄、语法数据、语法类型。可选:语法编码、语法数据长度等。

接口输出:识别语法ID、返回值等。

7.3.3 删除识别语法

接口行为:删除一个或多个已定义的识别语法。

接口输入:必备:登录句柄、识别语法 ID 列表。

接口输出:返回值等。

7.3.4 上载热词集

接口行为:用户或应用程序上载热词集数据,定义热词集。

接口输入:必备:登录句柄、热词集数据。可选:热词集编码、热词集数据长度等。

接口输出:热词集 ID、返回值等。

7.3.5 删除热词集

接口行为:删除一个或多个已定义的热词集。

接口输入:必备:登录句柄、热词集 ID 列表。

接口输出:返回值等。

7.3.6 用户注销

接口行为:用户退出登录。

接口输入:必备:登录句柄。

接口输出:返回值等。

8 接口返回值要求

被正确执行的接口返回值应为0,否则应返回非0值,不同的非0值应对应不同的错误原因。

GB/T 34083—2017

A

(资料性附录)

语音识别结果消息示例

A.1 一般识别结果消息示例

一个简单的识别结果为"北京天安门"的消息示例如下:

"version":"0.1",

"sentence-number":1,

"last-sentence":true,

"begin":0,

"end":2000,

"result-type":"word",

'error-code":0,

'recognition-result":[

'candidate-words":[

"word":"北京",

"begin":100,

"end":800

]

},

'candidate-words":[

"word":"天安门",

"begin":1000,

"end":1900

]

]

A.2 语言、说话者信息消息示例

识别结果为"北京天安门",说话者为中年男性,所用语言为中文,方言为普通话,消息示例如下:

GB/T 34083—2017

"version":"0.1",

"sentence-number":1,

"last-sentence":true,

"begin":0,

"end":2000,

"result-type":"word",

"age":"adult" ,

'gender":"male",

'language":"zh-CN ",

'dialect":"mandarin" ,

"error-code":0,

"recognition-result":[

"candidate-words":[

"word":"北京",

"begin":100,

"end":800

"candidate-words":[

"word","天安门",

"begin":1000,

"end":1900

]

A.3 不同结果类型消息示例

结果类型为"word" 的 消 息 见 A.1 和 A.2, 结果类型为"sentence"
的消息示例如下:

"version":"0.1",

"sentence-number":1,

'last-sentence":true,

"begin":0.

GB/T 34083—2017

"end":2000,

"result-type":"sentence",

"error-code";0.

'recognition-result":[

"candidate-words":[

"word":"北京天安门",

"begin";100,

"end":1900

]

]

A.4 进阶模式消息示例

A.4.1

当前识别会话为进阶模式时,假设识别结果为"北京天安门怎么走?",分两次返回,第一次返回的消

息如下:

"version":"0.1",

"sentence-number":1,

"last-sentence":false,

"begin":0,

"end":2000,

'result-type":"word",

'progressive-type":"append",

"error-code":0,

"recognition-result":[

'candidate-words":[

"word","北京",

"begin":100,

"end":800

]

},

"candidate-words":[

GB/T 34083—2017

"word":"天安门",

"begin":1000,

"end":1900

]

]

第二次返回的消息如下:

"version":"0.1",

"sentence-number":2,

"last-sentence":true,

'begin":2000,

"end":3200,

'result-type":"word",

'progressive-type":"append" ,

'error-code":0,

'recognition-result":[

"candidate-words":[

"word":"怎么",

"begin":2200.

"end":2700

"candidate-words":[

"word":"走",

'begin":2800,

"end":3000

]

,

"candidate-words":[

GB/T 34083—2017

"word":"?"

]

A.4.2 盖写

当前识别会话为进阶模式时,假设正确的识别结果为“北京天安门”,分两次返回给用户,第一次返

回的消息如下:

"version":"0.1",

"sentence-number":1,

"last-sentence":false,

"begin":0,

"end":2000,

"result-type":"word",

"progressive-type":"append",

"error-code":0,

'recognition-result":[

'candidate-words":[

"word":"背景",

"begin";100,

"end":800

},

'candidate-words":[

"word":"天安门",

"begin":1000,

"end":1900

]

GB/T 34083—2017

第二次返回的消息如下:

"version":"0.1",

"sentence-number":2,

"last-sentence":true,

"begin":0,

"end":900,

'result-type":"word",

"progressive-type":"overwrite",

'progressive-range":[

0,

6

],

"error-code";0,

"recognition-result":[

"candidate-words":[

"word":"北京",

"begin":100,

"end":800

]

A.4.3

当前识别会话为进阶模式时,假设识别结果为"北京天气怎么样?",分两次返回给用户,第一次返回

的消息如下:

"version":"0.1",

"sentence-number":1,

'last-sentence":false,

"begin":0,

"end":3200,

"result-type":"word",

'progressive-type":"append" ,

"error-code":0,

'recognition-result":[

GB/T 34083—2017

"candidate-words":[

"word":"北京",

"begin":100,

"end":800

]

},

"candidate-words":[

"word":"怎么样",

"begin":2000,

"end":2900

},

"candidate-words":[

"word":"?"

]

]

第二次返回的消息如下:

"version":"0.1",

"sentence-number":2,

"last-sentence":true,

"begin":1000,

"end":1900,

'result-type":"word",

'progressive-type ":"insert",

'progressive-range" :[

6,

0

],

"error-code":0,

"recognition-result":[

GB/T 34083—2017

"candidate-words":[

"word":"天气",

'begin":1100,

"end":1800

]

A.4.4

当前识别会话为进阶模式时,假设正确的识别结果为"北京天安门",分两次返回给用户,第一次返

回的消息如下:

"version":"0.1",

"sentence-number":1,

"last-sentence":false,

"begin":0,

"end":2000,

'result-type":"word",

"progressive-type":"append",

'error-code":0,

'recognition-result":[

'candidate-words":[

"word":"北京",

"begin":100,

"end":800

"candidate-words":[

"word":"嗯啊",

"begin":900,

"end":1000

GB/T 34083—2017

},

'candidate-words":[

"word":"天安门",

"begin":1100,

"end":1900

]

]

第二次返回的消息如下:

"version":"0.1",

"sentence-number":2,

"last-sentence":true,

"begin":1000,

"end":1900,

'result-type":"word",

'progressive-type":"delete",

'progressive-range":[

6,

6

],

"error-code":0,

'recognition-result":[]

A.5 识别结果多候选消息示例

假设识别结果为"北京天安门",一种可能的多候选识别结果的消息示例如下:

"version":"0.1",

"sentence-number":1,

"last-sentence":true,

"begin":0,

"end":3000,

'result-type":"word",

'error-code":0,

'recognition-result":[

GB/T 34083—2017

"candidate-words":[

"word","北京",

"begin":100,

"end":800,

"score":98

"word"."背景",

"begin":100,

"end":800,

"score":82

]

"candidate-words":[

"word":"天安门",

"begin":1000,

"end":1900,

"score":100

]

A.6

如果用户自定义了 一
个新词"天恩门",假设识别结果为"北京天安门",识别结果消息示例如下:

"version":"0.1"

"sentence-number":1,

'last-sentence":true,

"begin":0,

"end":2000,

"result-type":"word",

"error-code":0,

'recognition-result":[

"candidate-words":[

GB/T 34083—2017

"word":"北京",

"begin":100,

"end":800,

"user-word";false

]

"candidate-words":[

"word":"天安门",

"begin":1000,

"end":1900,

"user-word": false

},

"word":"天恩门",

"begin";1000,

"end":1900,

'user-word":true

]

]

A.7 命令字识别消息示例

如果用户激活了一个包含词条"张三"的语法“http://www.example.com/contacts",
用户说话内容

是"打电话给张三",则识别结果消息示例如下:

"version":"0.1",

"sentence-number":1,

'last-sentence":true,

"begin":0,

"end":2000,

"confidence-threshold":90,

"error-code":0,

'recognition-result":[

"grammar":"http://www.example.com/contacts" ,

GB/T 34083—2017

"candidate-words":[

"instance":"张三",

"score":92

],

"user-input":"打电话给张三"

延伸阅读

更多内容 可以 GB-T 34083-2017 中文语音识别互联网服务接口规范. 进一步学习

联系我们

DB4113-T 041-2023 液化石油气瓶充装质量追溯信息系统规范 南阳市.pdf